目录写在前面效果展示代码展示项目结构设计思路项目测试写在前面
今天利用Java的图形用户界面GUI技术写了一个电脑截图小工具。本程序代码简单,涉及到异常处理,事件处理,图形用户界面等,是初学者练手的好项目。一起来学习吧!
效果展示
![](//img.jbzj.com/file_images/article/202205/202205120831368.jpg)
代码展示
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class PrintScreen extends JFrame{
PrintScreen(){
this.setTitle("Java屏幕截图小工具");
this.setSize(400,300);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
JButton jButton=new JButton("点击截图");
jButton.setSize(120,60);
setLayout(new FlowLayout());
getContentPane().add(jButton);
//为按钮添加监听事件
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
PrintScreen();
} catch (AWTException | IOException ex) {
throw new RuntimeException(ex);
}
}
});
}
//实现截图功能
public static void PrintScreen() throws AWTException, IOException {
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
int width=(int)screenSize.getWidth();
int height=(int)screenSize.getHeight();
Robot robot=new Robot();
BufferedImage bi=robot.createScreenCapture(new Rectangle(width,height));
ImageIO.write(bi,"png",new File("C:\\Users\\Administrator\\Desktop","上一张截图.png"));
}
public static void main(String[] args){
PrintScreen printScreen=new PrintScreen();
}
}
项目结构
本程序用于初学者学习,结构简单,所有功能在主类中实现。
![](//img.jbzj.com/file_images/article/202205/202205120831369.jpg)
设计思路
首先绘制窗口,添加按钮组件,然后为按钮添加监听事件,实现截图功能。新的截图放在桌面,并命名为上一张截图.png。此路径可以根据自己的需求更改。
本程序中异常处理和事件处理是重点,也是Java进阶学习的重要部分,虽然GUI现在并没有很大的市场,甚至很多Java初学者放弃学习GUI技术,但是利用GUI编程的过程对于培养编程兴趣,深入理解Java编程有很大的作用。
本程序还可以进行优化,用于截取不同形状的截图,满足用户的需求。通过添加坐标变量来截取屏幕上所需要的像素点。同时,还可以对这个简易的窗口进行美化。本程序是一个学习Java编程的练手好项目。
项目测试
![](//img.jbzj.com/file_images/article/202205/2022051208313710.png)
运行程序,点击截图按钮,在目标文件路径下生成一个命名为“上一张截图.png”的文件,如上图。
到此这篇关于Java实现截图小工具的完整代码的文章就介绍到这了,更多相关java截图小工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:java使用ffmpeg实现上传视频的转码提取视频的截图等功能(代码操作)Java selenium截图操作的实现Java获取视频时长及截取帧截图详解java实现摄像头截图功能java利用phantomjs进行截图实例教程
|